10 simulated users executing back to back sessions. Warmup or cooldown sessions (that are desaturated) start before or end after the vertical dotted line. Note that narrower event bars mean better performance.

64 maintenance sessions ordered from fastest to slowest completion time. The red line marks how long the original recording session took to complete (~36s). Sessions should end around the same time as each other for consistent behavior.

Each session is represented with a line that cascades downward from each event. As time progresses, the line will move to the right. Consistent behavior will be represented with parallel lines, whereas inconsistent behavior will have lines jut arbitrarily to the right. Warmup and cooldown sessions are included as grey lines.

Total HTTP and supporting files (JS/CSS) latency (load time) is displayed for each session and run combination. Each vertical bar represents the amount of time a session's Shiny application had to wait before it is able to ask the server for information. A resonable amount of time to wait as been set to 5s. Warmup and cooldown sessions are displayed outside the dotted maintenance period lines.

Maximum WebSocket latency (calculation time) is displayed for each session and run combination. The maximum time is shown to convey the longest amount of time a user would have to wait for a response from the Shiny server. Warmup and cooldown sessions are displayed outside the dotted maintenance period lines.

Event plots are arranged by the slowest maximum time within each plot.

slowest maximum times

Event plots are arranged by the slowest minimum time within each plot.

slowest minimum times

Label Max time Min time
Event 37) Updated: B 7.096 1.401
Event 35) Updated: A 6.858 1.427
Event 21) Get: respond.min.js 6.684 0.435
Event 17) Get: shinyBS.js 6.381 0.432
Event 29) Updated: B 6.165 1.431
Event 27) Updated: A 5.579 1.623
Event 1) Get: Homepage 5.565 0.552
Event 8) Get: shinyBS.css 5.409 0.428
Event 7) Get: ion.rangeSlider.skinShiny.css 5.177 0.434
Event 10) Get: all.min.css 5.045 0.482
Event 6) Get: ion.rangeSlider.css 4.742 0.428
Event 19) Get: bootstrap.min.js 4.559 0.533
Event 13) Get: flatly.min.css 4.513 0.537
Event 14) Get: style.css 4.494 0.434
Event 16) Get: strftime-min.js 4.125 0.434
Event 9) Get: selectize.bootstrap3.css 4.078 0.434
Event 20) Get: html5shiv.min.js 4.046 0.430
Event 2) Get: json2-min.js 3.461 0.431
Event 15) Get: ion.rangeSlider.min.js 3.419 0.437
Event 11) Get: v4-shims.min.css 3.158 0.436
Event 3) Get: jquery.min.js 3.140 0.546
Event 4) Get: shiny.css 3.109 0.430
Event 5) Get: shiny.min.js 3.101 0.542
Event 12) Get: bootstrap.min.css 3.055 0.536
Event 18) Get: selectize.min.js 3.010 0.535
Event 25) Updated: A, B, B_downloadData, A_downloadData 2.775 0.147
Event 22) Start Session 2.097 0.569
Event 24) Initialize Session 1.378 0.000

Event plots are arranged by the largest slope magnitude found when fitting a line to each run.

largest slope magnitudes

Event plots are arranged by the largest intercept magnitude found when fitting a line to each run

largest intercept magnitudes

Event plots are arranged by the largest error magnitude found when fitting a line to each run.

largest error magnitudes

Label Slope Intercept Error
Event 10) Get: all.min.css 0.306 -0.591 3.955
Event 8) Get: shinyBS.css 0.281 -0.458 3.621
Event 29) Updated: B 0.263 0.684 3.510
Event 37) Updated: B 0.254 0.675 4.517
Event 27) Updated: A 0.248 0.847 2.744
Event 14) Get: style.css 0.220 -0.257 3.211
Event 2) Get: json2-min.js 0.203 -0.206 2.044
Event 19) Get: bootstrap.min.js 0.202 -0.074 3.221
Event 17) Get: shinyBS.js 0.186 -0.095 4.991
Event 1) Get: Homepage 0.180 0.434 3.872
Event 16) Get: strftime-min.js 0.179 -0.117 2.896
Event 25) Updated: A, B, B_downloadData, A_downloadData 0.171 -0.177 1.837
Event 7) Get: ion.rangeSlider.skinShiny.css 0.171 -0.077 3.884
Event 21) Get: respond.min.js 0.171 0.233 5.252
Event 13) Get: flatly.min.css 0.164 0.032 3.253
Event 22) Start Session 0.139 -0.064 1.035
Event 5) Get: shiny.min.js 0.134 0.209 2.089
Event 18) Get: selectize.min.js 0.127 0.206 2.171
Event 20) Get: html5shiv.min.js 0.122 0.405 2.845
Event 12) Get: bootstrap.min.css 0.107 0.532 1.988
Event 35) Updated: A 0.104 1.410 4.614
Event 6) Get: ion.rangeSlider.css 0.070 0.521 3.729
Event 9) Get: selectize.bootstrap3.css 0.069 0.582 3.080
Event 24) Initialize Session 0.037 -0.186 1.266
Event 11) Get: v4-shims.min.css 0.033 0.789 2.137
Event 15) Get: ion.rangeSlider.min.js 0.027 0.793 2.462
Event 3) Get: jquery.min.js -0.009 1.045 2.155
Event 4) Get: shiny.css -0.005 0.834 2.308